package cn.hls.dao;

import java.util.List;

import cn.hls.entity.User;
import cn.hls.entity.vo.PageInfo;

/**
 * @fileName: UserDao.java
 * @descrption: 用户Dao接口类
 * @author : yinghui.zhang
 * @Email: uuhui@163.com
 * @date 2015-4-8
 * @version 1.0
 */
public interface UserDao extends BaseDao<User> {
	/**
	 * 根据用户编号删除用户信息
	 * 
	 * @param userId
	 *            用户编号
	 */
	void deleteUser(Long userId) throws Exception;

	/**
	 * 
	 * @param paramPageInfo
	 * @param paramUser
	 * @return
	 */
	PageInfo<User> loadUsers(PageInfo<User> paramPageInfo, User paramUser) throws Exception;

	/**
	 * 用户登录操作
	 * 
	 * @param loginName
	 *            登录名
	 * 
	 * @return String
	 */
	User login(String loginName) throws Exception;

	/**
	 * 根据角色名称查询用户信息
	 * 
	 * @param roleName
	 *            角色名
	 * @return List<User>
	 */
	List<User> searchUsersOfRole(String roleName) throws Exception;

	/**
	 * 根据用户名查询用户是否存在
	 * 
	 * @param loginName
	 *            登录名
	 * @return boolean
	 */
	boolean checkUserName(String loginName) throws Exception;

	/**
	 * 更新账号密码
	 * @param entity 用户对象
	 * @return boolean 
	 * @throws Exception 异常
	 */
	boolean updatePwd(User entity)throws Exception;

}
